1. Field of the Invention
The present invention relates to network devices, and more particularly to network devices that determine the physical topology of a distributed network device and perform master election in a stacked switch network.
2. Description of the Related Art
Switching is a technology that alleviates congestion in networks by reducing traffic and increasing bandwidth. A switch manages and regulates the network traffic by filtering message connections point-to-point between stations communicating with each other, providing in effect a dedicated connection. Switching algorithms can be performed by processors, application-specific integrated circuits (“ASICs”) and the like.
Ethernet is a term of art that refers to network architecture that meets the IEEE 802.3 family of protocols. An Ethernet switch has only a limited number of ports and manages network traffic among a limited number of nodes or of ports and manages network traffic among a limited number of nodes or segments. For an Ethernet switch system to provide more ports, the system frequently must combine, or “stack”, two or more Ethernet switches. Stacking provides interconnections between the Ethernet switches to enable coordinated operation of the combined system and provides more switching capability for the network.
Stacks of switches can be arranged physically in different ways, for example by shared bus, switching fabric, ring-bus and interleaved interconnection structures. Typically, one of the units in a stack acts as a stack master, while all other units act as slaves. Network managers can manage the entire stack remotely, as one switch box, via the stack master.
A crucial task in a switched Ethernet environment is so-called “master election,” that is the selection of a stack master. Conventionally, a user-defined master election priority is used to define which switch will become master in the first instance, which switch would become master if the first master fails and so on until one switch is left in the stack. Generally, the configuration files are unified for all the switches in a stack. If the master switch fails, the newly elected master will have the configuration for the entire stack. To unify the switch configuration, each switch in the stack can be given an arbitrary identification number such as a media access control (“mac”) address which is a static identifier which cannot be changed by a user. Another type of arbitrary identification is a number set by a user via management software or by a physical knob or button on the unit itself.
Existing master election and configuration unification processes do not handle multiple faults well. For example, in a ring topology, if two ring faults occur, the stack is broken into two stacks each with a master of its own. After reconnecting the ring, without rebooting several switches in the stack, the master election process might not be able to resolve a new master. In addition, rebooting switches can take several minutes, which could affect network communications adversely.
In some cases the units will not reconnect back to a ring topology. FIG. 7 illustrates a ring topology broken in two places—between unit 701 and unit 702 between master unit 700 and unit 704. Here, the two link failures cause two chain topologies to be formed.
Another crucial task is the discovery of the network-level topology of a given network. Every architecture has a unique topology, and the effective topology can change because the physical arrangement of nodes may change, I/O nodes can intervene, and network devices can fail, to name a few.